P3 problem and Magnolia language: Specializing array computations for emerging architectures
نویسندگان
چکیده
The problem of producing portable high-performance computing (HPC) software that is cheap to develop and maintain called the P 3 (performance, portability, productivity) problem. Good solutions have been achieved when performance profiles target machines similar. variety HPC architectures is, however, large can be expected grow larger. Software for therefore needs highly adaptable, there a pressing need provide developers with tools produce vastly different profiles. Multi-dimensional array manipulation constitutes core component numerous numerical methods, such as finite difference solvers Partial Differential Equations (PDEs). efficiency these computations tightly connected traversing distributing data in hardware-friendly way. Mathematics Arrays (MoA) allows formally reasoning about enables systematic transformations array-based programs, e.g., use layouts fit specific architecture. This paper presents programming methodology aimed tackling domains are well-explored using Magnolia, language designed embody generic programming. Magnolia programmer restrict semantic properties abstract types operations by defining so-called axioms. Axioms used tests concrete implementations specifications, formal verification, or perform semantics-preserving program transformations. We leverage Magnolia's specification facilities extend compiler term rewriting system. implement MoA's transformation rules demonstrate through case study on solver PDEs how our system exploring space possible optimizations.
منابع مشابه
Array Language Support for Wavefront and Pipelined Computations
Array languages such as Fortran 90, High Performance Fortran and ZPL are convenient vehicles for expressing data parallel computation. Unfortunately, array language semantics prohibit the natural expression of wavefront and pipelined computations, characterized by a sequential propagation of computed values across one or more dimensions of the problem space. As a result, programmers scalarize (...
متن کاملA Domain-Specific Language and Compiler for Stencil Computations on Short-Vector SIMD and GPU Architectures
Stencil computations are an integral part of applications in a number of scientific computing domains, such as image processing and partial differential equations. We describe a domain-specific language for regular stencil computations, that allows specification of the computations in a concise manner. We describe a multi-target compiler for this DSL, that generates optimized code for multi-cor...
متن کاملCompiling Array Computations
Fresh Breeze is a highly parallel architecture currently under development, which strives to provide high performance scientific computing with simple programmability. The architecture provides for multithreaded determinate execution with a write-once shared memory system. In particular, Fresh Breeze data structures must be constructed from directed acyclic graphs of immutable fixed-size chunks...
متن کاملUML-based Approach for Documenting and Specializing Frameworks Using Patterns and Concern Architectures
Documenting an application framework is a non-trivial task. The most challenging part is the specialization interface that is used to derive specialized versions of the framework. Application developers using the framework should be able to grasp easily the associated classes and their collaborations. Patterns have provided partial support but in the case of highly complicated software platform...
متن کاملLoop Optimization for Aggregate Array Computations
An aggregate array computation is a loop that computes accumulated quantities over array elements. Such computations are common in programs that use arrays, and the array elements involved in such computations often overlap, especially across iterations of loops, resulting in signi cant redundancy in the overall computation. This paper presents a method and algorithms that eliminate such overla...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Frontiers in computer science
سال: 2022
ISSN: ['2624-9898']
DOI: https://doi.org/10.3389/fcomp.2022.931312